Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

additive translucency for fullbright sprites #1974

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

fabiangreffrath
Copy link
Owner

Fixes #1968

@rfomin
Copy link
Collaborator

rfomin commented Nov 2, 2024

I think we should only use additive translucency for fireballs/plasma and similar things, so maybe we should add another flag?
The ZDoom/Eternity functions also allow custom translucency levels per sprite. If we want more translucency options, I think it's better to use these functions.

@fabiangreffrath
Copy link
Owner Author

I think we should only use additive translucency for fireballs/plasma and similar things, so maybe we should add another flag?

This is what this PR does. The new additive translucency is only applied to fullbright sprites.

The ZDoom/Eternity functions also allow custom translucency levels per sprite. If we want more translucency options, I think it's better to use these functions.

Is this a new dehacked field?

The new functions add a lot of complexity and don't fit well with our streamlined column drawer function factory. Also, the ability to choose different translucency tables at runtime was already there (e.g. for different wall and sprite translucency tables) so it was straightforward to just add another table.

@rfomin
Copy link
Collaborator

rfomin commented Nov 2, 2024

The new additive translucency is only applied to fullbright sprites.

What if there is a custom translucent enemy mobj, will it be drawn with additive translucency in fullbright states?

The new functions add a lot of complexity and don't fit well with our streamlined column drawer function factory.

Maybe this "factory" is a bad idea. I can expand these macros.

@fabiangreffrath
Copy link
Owner Author

What if there is a custom translucent enemy mobj, will it be drawn with additive translucency in fullbright states?

Yes, erm...

Maybe this "factory" is a bad idea. I can expand these macros.

Okay.

@rfomin
Copy link
Collaborator

rfomin commented Nov 2, 2024

What if there is a custom translucent enemy mobj, will it be drawn with additive translucency in fullbright states?

Yes, erm...

Eternity adds a custom preset that is a combination of additive and boom translucency. So Imp's fireballs and plasma are drawn with additive translucency, which looks better. I think this is what DW users want.

Maybe this "factory" is a bad idea. I can expand these macros.

Okay.

Should I do it in this PR?

@fabiangreffrath
Copy link
Owner Author

Should I do it in this PR?

Sure, if you like. I consider my approach rejected by then. 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

additive translucency for fullbright sprites
2 participants